using System;
using System.Net;
using SoftEtherApi.Model;

namespace SoftEtherApi.SoftEtherModel
{
    public class HubSessionStatus : BaseSoftEtherModel<HubSessionStatus>
    {
        public string AccountName;
        public bool Active;
        public string CipherName;
        public string ClientHostname;
        public IPAddress ClientIpAddress;
        public byte[] ClientIpAddress6;
        public byte[] ClientIpAddress_ipv6_array;
        public bool ClientIpAddress_ipv6_bool;
        public uint ClientIpAddress_ipv6_scope_id;
        public string ClientOsName;
        public string ClientOsProductId;
        public string ClientOsVer;
        public uint ClientPort;
        public uint ClientProductBuild;
        public string ClientProductName;
        public uint ClientProductVer;
        public bool Connected;
        public string ConnectionName;
        public DateTime CurrentConnectionEstablishTime;
        public DateTime FirstConnectionEstablisiedTime;
        public string GroupName;
        public bool HalfConnection;
        public string HubName;
        public bool IsBridgeMode;
        public bool IsMonitorMode;
        public bool IsRUDPSession;
        public bool IsUdpAccelerationEnabled;
        public bool IsUsingUdpAcceleration;
        public uint MaxTcpConnections;
        public string Name;
        public uint NumConnectionsEatablished;
        public uint NumTcpConnections;
        public uint NumTcpConnectionsDownload;
        public uint NumTcpConnectionsUpload;
        public bool policy_Access;
        public bool policy_ArpDhcpOnly;
        public uint policy_AutoDisconnect;
        public bool policy_CheckIP;
        public bool policy_CheckIPv6;
        public bool policy_CheckMac;
        public bool policy_DHCPFilter;
        public bool policy_DHCPForce;
        public bool policy_DHCPNoServer;
        public bool policy_DHCPv6Filter;
        public bool policy_DHCPv6NoServer;
        public bool policy_FilterIPv4;
        public bool policy_FilterIPv6;
        public bool policy_FilterNonIP;
        public bool policy_FixPassword;
        public uint policy_MaxConnection;
        public uint policy_MaxDownload;
        public uint policy_MaxIP;
        public uint policy_MaxIPv6;
        public uint policy_MaxMac;
        public uint policy_MaxUpload;
        public bool policy_MonitorPort;
        public uint policy_MultiLogins;
        public bool policy_NoBridge;
        public bool policy_NoBroadcastLimiter;
        public bool policy_NoIPv6DefaultRouterInRA;
        public bool policy_NoIPv6DefaultRouterInRAWhenIPv6;
        public bool policy_NoQoS;
        public bool policy_NoRouting;
        public bool policy_NoRoutingV6;
        public bool policy_NoSavePassword;
        public bool policy_NoServer;
        public bool policy_NoServerV6;
        public bool policy_PrivacyFilter;
        public bool policy_RAFilter;
        public bool policy_RSandRAFilter;
        public DateTime policy_TimeOut;
        public bool policy_Ver3;
        public uint policy_VLanId;
        public string ProxyHostname;
        public IPAddress ProxyIpAddress;
        public byte[] ProxyIpAddress6;
        public byte[] ProxyIpAddress_ipv6_array;
        public bool ProxyIpAddress_ipv6_bool;
        public uint ProxyIpAddress_ipv6_scope_id;
        public bool QoS;
        public string RealUsername;
        public ulong RecvBroadcastBytes;
        public ulong RecvBroadcastCount;
        public ulong RecvUnicastBytes;
        public ulong RecvUnicastCount;
        public ulong SendBroadcastBytes;
        public ulong SendBroadcastCount;
        public ulong SendUnicastBytes;
        public ulong SendUnicastCount;
        public string ServerHostname;
        public IPAddress ServerIpAddress;
        public byte[] ServerIpAddress6;
        public byte[] ServerIpAddress_ipv6_array;
        public bool ServerIpAddress_ipv6_bool;
        public uint ServerIpAddress_ipv6_scope_id;
        public string ServerName;
        public uint ServerPort;
        public uint ServerPort2;
        public uint ServerProductBuild;
        public string ServerProductName;
        public uint ServerProductVer;
        public byte[] SessionKey;
        public string SessionName;
        public uint SessionStatus;
        public string SessionStatus_ClientHostName;
        public IPAddress SessionStatus_ClientIp;
        public byte[] SessionStatus_ClientIp6;
        public byte[] SessionStatus_ClientIp_ipv6_array;
        public bool SessionStatus_ClientIp_ipv6_bool;
        public uint SessionStatus_ClientIp_ipv6_scope_id;
        public DateTime StartTime;
        public ulong TotalRecvSize;
        public ulong TotalRecvSizeReal;
        public ulong TotalSendSize;
        public ulong TotalSendSizeReal;
        public string UnderlayProtocol;
        public byte[] UniqueId;
        public bool UseCompress;
        public bool UseEncrypt;
        public string Username;
        public uint VLanId;
        public uint ProxyPort;
    }
}
